/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package practica1.domain.event;

import practica1.domain.Poblacion;

/**
 * Clase que implementa el evento producido sobre una población
 * @author Miguel González - Ceura
 */
public class PoblacionPropertyEvent {
    //Constantes públicas
    public static final int CHANGE_MODELO_POBLACION_TABLA = 0;
    public static final int CHANGE_MODELO_GRAFICA_COMIDA = 1;
    public static final int CHANGE_NOMBRE_POBLACION = 2;
    public static final int CHANGE_FECHA = 3;
    public static final int CHANGE_TAMANIO_POBLACION = 4;
    public static final int CHANGE_TEMPERATURA = 5;
    public static final int CHANGE_ESCALA_TEMPERATURA = 6;
    public static final int CHANGE_LUMINOSIDAD = 7;
    public static final int CHANGE_SINCRONIZAR_COMIDA = 8;
    public static final int CHANGE_MODELO_GRAFICA = 9;
    public static final int CHANGE_MODELO_POBLACION_GRAFICA = 10;
    public static final int CHANGE_MODELO_COMENTARIOS = 11;
    
    //Objetos del cambio
    private Poblacion poblacion;
    private int typeChange;
    
    /**
     * Constructor del evento de la población
     * @param poblacionChange Poblacion que ha generado el evento
     * @param typeChange Tipo de la propiedad que ha cambiado en la población
     */
    public PoblacionPropertyEvent(Poblacion poblacionChange, int typeChange) {
        this.poblacion = poblacionChange;
        this.typeChange = typeChange;
    }
    
    /**
     * Devuelve la población que ha generado el evento
     * @return Poblacion poblacion
     */
    public Poblacion getPoblacionChange() {
        return poblacion;
    }
    
    /**
     * Devuelve el tipo de la propiedad de la población que ha cambiado
     * @return int typeChange
     */
    public int getTypeChange() {
        return typeChange;
    }
}
